Supercomputers, such as those described in the aforementioned Hillis patents, the Hillis, et al., '126 patent application, and the Kahle patent application, process large amounts of data in relatively short periods of time. As in conventional computers, data to be processed by a supercomputer is typically stored in one or more mass storage devices, which generally store the data in magnetic or optical form. To ensure that the processing elements, which actually perform the processing, are kept busy, data must be retrieved from the mass storage devices at a rapid rate for transfer to the processing elements.
The rate at which data can be retrieved from a single mass storage device is related to a number of factors. If the data is stored on a conventional rotating magnetic, disk, for example, the maximum rate at which the data can be retrieved is related to the rotational speed of the disk and the storage density, that is, the number of bits that can be stored per unit length or area on the disk. The data retrieval rate may further be limited by the circuitry that generates, in response to the magnetically-encoded data on the disk, the electronic signals representing the data for transfer to the processing elements. For a typical disk drive, the retrieval rate is generally on the order of several megabytes per second, which is far less than the rate at which a modern supercomputer can receive and process the data.
To increase the rate at which data can be retrieved from mass storage, mass storage systems have been developed comprising arrays of independently controllable disk units. The aforementioned Hillis, et al., '353 patent application and Potter, et al., patent describe examples of such systems. In such a mass storage system, the data bits forming each word to be transferred in parallel to the supercomputer are spread across corresponding locations in a number of independently-operable disk units. In such a system, data can be retrieved from an array of "n" disk units on the order of "n" times faster than from a single disk unit. Accordingly, the amount of data that such a disk array can supply to a supercomputer can more closely match the rate at which the supercomputer can receive and use the data.
Such disk arrays can provide other benefits as well. For example, if each word stored in a disk array is augmented by associated error correction and detection bits, which are stored in additional disk units, if a disk unit fails the data bits that that unit would provide can be decoded from the data bits provided by the other disk units and the error correction and detection bits. Thus, disk arrays can provide not only faster retrieval of data, but also enhanced reliability and availability of data.
Arrays of independently operable disk units can provide an increased retrieval rate for data to be processed if the data to be retrieved from the disk units at one time is stored in the corresponding locations on the disks. If, however, the data to be retrieved from the various disk units is not stored in corresponding locations, parts of the data must be retrieved from diverse locations in the various disk units. When that occurs, the retrieval can take much longer, depending on the amount of data to be transferred from each location and the distances separating the locations on the respective disks.